/*
 * Client.h
 *
 *  Created on: Nov 4, 2011
 *      Author: gonzalo
 */

#ifndef CLIENT_H_
#define CLIENT_H_

#include "../Sockets/ConexionCliente.h"
#include "../../Server/SpaceBattleInterface.h"
#include "../../Server/ColaMensajes.h"

class Client : public Thread{
public:
	Client(std::string id,std::string host,SpaceBattleInterface* game,SocketProtocoloPlano* socket);
	virtual ~Client();

	void setMensaje(DTO* dto);

	std::string getClienteName();

	void terminar();

	bool esValida();

	bool isConnected();

	bool getAdmin();

	void setAdmin();

	int getCantMsgRecibir();
protected:
	virtual void* run();
private:
	ColaMensajes* enviar;
	ColaMensajes* recibir;

	ConexionCliente* conexion;

	SpaceBattleInterface* game;

	bool conexionActiva;

	bool esAdmin;
};

#endif /* CLIENT_H_ */
